Skip to content

Nginx based setup for providing GSA#614

Open
bjoernricks wants to merge 1 commit intomainfrom
nginx-setup
Open

Nginx based setup for providing GSA#614
bjoernricks wants to merge 1 commit intomainfrom
nginx-setup

Conversation

@bjoernricks
Copy link
Contributor

What

Nginx based setup for providing GSA

Why

Change the docker compose setup to use nginx as the primary web interface. nginx terminates the TLS connection and provides the static files of GSA.

References

https://jira.greenbone.net/browse/GEA-1565

Checklist

@github-actions
Copy link

github-actions bot commented Feb 24, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 64bfb39.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

Change the docker compose setup to use nginx as the primary web
interface. nginx terminates the TLS connection and provides the static
files of GSA.
| gsad | gsad | A container running the {term}`gsad` service for providing the web API. It translates between http and {term}`GMP`. For communication with gvmd, a unix socket in a volume is used. |
| gsa | | A container that copies the static content for the web application {term}`GSA` to the `gsa_data_vol` volume on startup. |
| gvm-config | | A container providing the nginx config and self-signed certificates for https |
| nginx | nginx | A nginx web server providing {term}`GSA` |
Copy link
Member

@ozgen ozgen Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also add e.g.: It forwards API requests to the gsad service.

Suggested change
| nginx | nginx | A nginx web server providing {term}`GSA` |
| nginx | nginx | A nginx web server providing {term}`GSA`. It forwards API requests to the gsad service. |

| gsa | gsad | A container running the {term}`gsad` web server for providing the web application {term}`GSA`. The web interface is available at localhost on port 9392. For communication with gvmd, a unix socket in a volume is used. |
| gsad | gsad | A container running the {term}`gsad` service for providing the web API. It translates between http and {term}`GMP`. For communication with gvmd, a unix socket in a volume is used. |
| gsa | | A container that copies the static content for the web application {term}`GSA` to the `gsa_data_vol` volume on startup. |
| gvm-config | | A container providing the nginx config and self-signed certificates for https |
Copy link
Member

@ozgen ozgen Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| gvm-config | | A container providing the nginx config and self-signed certificates for https |
| gvm-config | | A container providing the nginx config and self-signed certificates for https communication. |

## Latest

* Only provide a docker-compose.yml file and remove the versioned file. The
compose file is a rolling release.
Copy link
Member

@ozgen ozgen Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First bullet point is a bit unclear.
e.g.:

  • Provide a single docker-compose.yml file and remove the versioned compose file. The compose setup now follows a rolling release model.


* Only provide a docker-compose.yml file and remove the versioned file. The
compose file is a rolling release.
* Change compose setup to use nginx for serving GSA and run gsad in api only
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same for the second one e.g.:

  • Update the compose architecture:
    • Use nginx to serve the GSA frontend.
    • Run gsad in API-only mode.
    • Introduce a new gvm-config container that configures nginx and generates a self-signed TLS certificate.
    • Port 9392 now redirects to 443.

@ozgen
Copy link
Member

ozgen commented Feb 25, 2026

I have tested new docker-compose.yml in my local, It works as expected 👍 @bjoernricks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants